package com.pro.common.api.user.task.model.request;

import com.pro.common.api.user.task.model.base.IUserTaskCreate;
import com.pro.common.api.user.task.model.dto.UserTaskStepCreateDTO;
import com.pro.framework.javatodb.annotation.JTDField;
import com.pro.framework.javatodb.constant.JTDConst;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Schema(description = "步骤完成请求")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UserTaskCreatRequest implements IUserTaskCreate {

    @Schema(description = "用户ID")
    private Long userId;
    /**
     * ${@link  com.pro.baoyi.module.content.process.enums.EnumUserTaskTypeBaoyi}
     */
    @Schema(description = "处理类型")
    private String taskType;
    @Schema(description = "总共几步")
    private Integer totalSteps;
    @Schema(description = "名称")
    private String taskName;
    @Schema(description = "子名称")
    private String taskSubName;
    @Schema(description = "子名称2")
    private String taskSubName2;
    @Schema(description = "关联对象ID")
    @JTDField(notNull = JTDConst.EnumFieldNullType.can_null, defaultValue = "NULL")
    private String referenceCode;
    @Schema(description = "关联对象ID")
    @JTDField(notNull = JTDConst.EnumFieldNullType.can_null, defaultValue = "NULL")
    private Long referenceId;


    @Schema(description = "任务附加信息(JSON)")
    @JTDField(type = JTDConst.EnumFieldType.text)
    private String metaInfo;

    @Schema(description = "下级用户Id")
    private Long createBy;


    @Schema(description = "第一步参数")
    private UserTaskStepCreateDTO step;

}

